import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
from collections import Counter
plt.rcParams['font.family'] = ['SimHei']  # 设置字体为黑体
df=pd.read_csv('new_data.csv',encoding='gbk')
# 假设数据存储在一个 DataFrame 中，这里先模拟数据
data = {
    'index': df['index'],
    '用户id': df['用户id'],
    '性别': df['性别'],
    '点赞数': df['点赞数'],
    '评论': df['评论'],
    '回复量': df['回复量'],
    '评论日期': df['评论日期'],
    '哪吒关键词出现次数': df['哪吒关键词出现次数']
}

df = pd.DataFrame(data)

# 用户行为分析：点赞数分布
plt.figure(figsize=(40, 10))
sns.countplot(x='点赞数', data=df)
plt.title('用户点赞数分布')
plt.show()

# 用户行为分析：回复量分布
plt.figure(figsize=(30, 10))
sns.countplot(x='回复量', data=df)
plt.title('用户回复量分布')
plt.show()

# 关键词提取（简单分词统计）
all_words = []
for comment in df['评论']:
    words = comment.split()
    all_words.extend(words)

word_counts = Counter(all_words)
top_words = word_counts.most_common(10)

# 关键词可视化
words, counts = zip(*top_words)
plt.figure(figsize=(10, 6))
sns.barplot(x=counts, y=words)
plt.title('最常见的关键词')
plt.show()

# 性别分布可视化
plt.figure(figsize=(8, 6))
sns.countplot(x='性别', data=df)
plt.title('用户性别分布')
plt.show()